home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / basic / pbasmlib.zip / PBASMLIB.DOC < prev    next >
Text File  |  1994-02-12  |  16KB  |  331 lines

  1.  
  2.  
  3.  
  4.     ██████╗  ██████╗   █████╗  ███████╗ ███╗   ███╗ ██╗      ██╗ ██████╗
  5.     ██╔══██╗ ██╔══██╗ ██╔══██╗ ██╔════╝ ████╗ ████║ ██║      ██║ ██╔══██╗
  6.     ██████╔╝ ██████╔╝ ███████║ ███████╗ ██╔████╔██║ ██║      ██║ ██████╔╝
  7.     ██╔═══╝  ██╔══██╗ ██╔══██║ ╚════██║ ██║╚██╔╝██║ ██║      ██║ ██╔══██╗
  8.     ██║      ██████╔╝ ██║  ██║ ███████║ ██║ ╚═╝ ██║ ███████╗ ██║ ██████╔╝
  9.     ╚═╝      ╚═════╝  ╚═╝  ╚═╝ ╚══════╝ ╚═╝     ╚═╝ ╚══════╝ ╚═╝ ╚═════╝ (tm)
  10.  
  11.  
  12.                                Version 1.0
  13.  
  14.                     An all assembly-language library for
  15.                               PowerBASIC 3.0
  16.  
  17.                      (C) Copyright 1994 by Tim Gerchmez
  18.                             All Rights Reserved.
  19.  
  20.  
  21.  
  22.                            PBASMLIB Trial License
  23.                            ----------------------
  24.  
  25. PBASMLIB is copyrighted, commercial software being distributed under the
  26. shareware (try before you buy) marketing concept.  It is not free software,
  27. nor is it in the public domain.
  28.  
  29. You are licensed to try PBASMLIB routines in your programs for a period
  30. of 60 days (two months).  You may not distribute programs that include 
  31. PBASMLIB routines, either for pay or for free, without first registering 
  32. PBASMLIB.  If at the end of 60 days you decide not to register PBASMLIB, 
  33. you should delete all copies of the program, including all executable files 
  34. that contain PBASMLIB routines, and discontinue use.
  35.  
  36. Registered users of PBASMLIB will receive the following benefits:
  37.  
  38. * The latest version of PBASMLIB on floppy disk (specify format, or
  39.   3 1/2", 1.44MB HD will be sent).  This includes all files that came
  40.   with the shareware version, as well as the individual .OBJ (object)
  41.   files that make up the library, and the source code (see below).
  42.   Programs are sent only on the highest-quality brand-name diskettes
  43.   assembled in the U.S.A. - cheapie bulk diskettes are never used!
  44.  
  45. * Complete assembly language source code to PBASMLIB routines for ease of
  46.   making modifications to the software.  This is a major benefit, and one
  47.   that is not offered with many all assembly-language toolboxes.
  48.  
  49. * License to use PBASMLIB routines in programs intended for distribution
  50.   and/or sale, without payment of further fees or royalties.  This is
  51.   guaranteed in writing along with your registered copy.
  52.  
  53. * The next major update FREE of charge (will be sent automatically).
  54.   Subsequent major updates will cost $10.00 per update (subject to change).
  55.   Minor updates and bug fixes are always free with a postpaid disk mailer
  56.   and floppy disk.
  57.  
  58. * More demonstration programs, with tips and techniques on using PBASMLIB
  59.   routines.
  60.  
  61. * Technical support by mail and via the PowerBASIC BBS and any other online
  62.   services frequented by the author (see BIBLIO.TXT for an online reference)
  63.  
  64. * Additional shareware and freeware utilities for PowerBASIC written by
  65.   the author of PBASMLIB included on the disk sent.
  66.  
  67. You may also receive other benefits in addition to those stated above (which
  68. are guaranteed upon registration).  Note that this is not a warranty of any
  69. kind related to the software itself, but a guarantee of benefits upon payment 
  70. of the registration fee.
  71.  
  72. Commercial users of PBASMLIB must register and pay for their copies of
  73. the program within 10 days of first use or their license is withdrawn.
  74. If additional time is needed to evaluate PBASMLIB for your needs, please
  75. contact the author.  Site license arrangements may be made by contacting 
  76. the author at the address given below.  Site-licensing contracts are 
  77. negotiated on an individual basis.
  78.  
  79. To register PBASMLIB, please send a check or money order for $39.95, plus 
  80. $5.00 shipping and handling ($44.95 total), to:
  81.  
  82. Tim Gerchmez
  83. 12648 S.E. 81st Pl.
  84. Renton, WA  98056-9121
  85.  
  86. The price given is for a single-user registration, applicable to one user
  87. using PBASMLIB on one machine at any given time.  Use the form included in 
  88. this package (REGISTER.FRM) to register.  If you don't, please don't forget 
  89. to specify your FULL NAME, ADDRESS, TELEPHONE NUMBER, and DISK FORMAT desired
  90. when ordering.
  91.  
  92. Foreign registrants must pay with a check or cashier's check DRAWN ON A
  93. U.S. BANK, or with U.S. dollars in cash.  Foreign users are guaranteed the
  94. same registration benefits as domestic users, including full technical
  95. support by mail.
  96.  
  97. Questions or comments may also be directed to the author at the above
  98. address.  Comments and/or questions from unregistered users are welcomed.
  99.  
  100. DISTRIBUTORS are hereby licensed to distribute PBASMLIB freely, provided
  101. that all files included in the shareware package are kept together and
  102. unaltered (additional files may be added if necessary).  It's recommended 
  103. that you contact the author at the address given above, so that program 
  104. updates and bug fixes can be sent to you.  For additional details, see 
  105. the file VENDOR.DOC included with this package.
  106.  
  107. BBS SYSOPS may distribute PBASMLIB freely, provided that all files included
  108. in the archive package are kept together and unaltered (additional files
  109. may be added if necessary).  It's recommended that you contact the author at 
  110. the address given above, so that program updates and bug fixes can be sent or 
  111. uploaded to you.  The PBASMLIB package may be un-archived and re-archived 
  112. using different archiving techniques (suggested filenames are PBASMLIB.ZIP 
  113. or PBASMLIB.ARJ), and posted freely on any kind of BBS system.
  114.  
  115.                      
  116.                           Disclaimer of Liability
  117.                           -----------------------
  118.  
  119. "This software is provided as-is.  There are no warranties made,
  120.  either expressed or implied."
  121.  
  122. THE AUTHOR OF THIS SOFTWARE DISCLAIMS ALL WARRANTIES RELATED TO THIS
  123. SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  124. THE WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
  125. NEITHER THE AUTHOR OF THIS SOFTWARE (TIM GERCHMEZ) NOR ANYONE ELSE WHO
  126. HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, DISTRIBUTION OR DELIVERY OF 
  127. THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR INCIDENTAL 
  128. DAMAGES ARISING FROM THE USE OR INABILITY TO USE THIS SOFTWARE, EVEN IF THEY 
  129. HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  IN NO EVENT
  130. SHALL THE AUTHOR OF THIS SOFTWARE'S LIABILITY FOR ANY DAMAGES EVER EXCEED
  131. THE PRICE PAID FOR THE LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM
  132. OF CLAIM.  THE PERSON(S) USING THE SOFTWARE BEARS ALL RISK AS TO THE QUALITY
  133. AND PERFORMANCE OF THE SOFTWARE.  
  134.  
  135. -------------------------------------------------------------------------------
  136.                               
  137.                               PBASMLIB Overview
  138.                               -----------------
  139.  
  140. PBASMLIB is a toolkit (or library) of routines for PowerBASIC 3.0 
  141. (PowerBASIC, Inc).  It's written in 100% 80x86 assembly language,
  142. which offers you blazing speed, small program size, and a great 
  143. deal of flexibility. 
  144.  
  145. The primary goal of PBASMLIB is not to save you time (although it will
  146. most likely do so), but to offer you raw speed, power and control at a
  147. level unequalled by any other shareware library for BASIC.  With PBASMLIB 
  148. and PowerBASIC, you'll have access to low-level machine functions that
  149. will provide you with unparallelled power in writing professional-quality
  150. BASIC programs that really stand out in a crowd.  Because the code size
  151. is so small too (the MOUSE module, with 55 routines, takes about 3K of
  152. memory!), you'll use these routines often.  It's my hope that with PBASMLIB
  153. at your disposal, you'll never have to spend $200 on a full-featured
  154. commercial library for PowerBASIC.
  155.  
  156. The following modules are included in PBASMLIB:
  157.  
  158. Screen
  159. ------
  160.         The screen module provides 36 functions related to manipulating 
  161. the text screen and memory block store routines.  You can scroll the screen 
  162. in different directions, store/recall text screens, fade the screen in and
  163. out (MCGA/VGA only), and perform other related and useful functions.  Future
  164. plans include the addition of graphics-related routines.
  165.  
  166. Mouse
  167. -----
  168.         The mouse module provides you with access to the full power of the
  169. mouse driver.  55 functions are provided to allow you access to just about 
  170. all the mouse driver's capabilities, including the ability to write your 
  171. own interrupt-driven mouse handler routines.
  172.  
  173. BIOS
  174. ----
  175.         The BIOS module is an interface to the ROM BIOS routines built into 
  176. your computer.  Most of the built in BIOS functions are supported, including 
  177. palette and graphics commands.  80 functions are included in the BIOS module.
  178.  
  179. DOS
  180. ---
  181.         The PBASMLIB DOS module lets you delve deeply into the mysteries
  182. of MS-DOS.  86 super powerful low-level functions let you interface your
  183. PB BASIC programs directly to the operating system, giving you access to
  184. programming flexibility that is second to none.
  185.  
  186. Install
  187. -------
  188.         Add some extra intelligence to your PB programs with this library
  189. of installation checks for many popular TSR's, Operating System extensions
  190. and BIOS extensions.  90 different install checks are currently supported.  
  191. As new installation checks are added by different manufacturers, this 
  192. PBASMLIB module will likely grow in size and functionality.
  193.  
  194. Array
  195. -----
  196.         Extend PB's already-powerful collection of array-related routines
  197. with these commands.  Perform all sorts of interesting logical and numerical 
  198. feats with integer and word arrays.  Major expansion is planned for this
  199. unit in future versions of PBASMLIB.
  200.  
  201. Sound
  202. -----
  203.         PBASMLIB's sound module allows you to (at last!) play 9-voice
  204. FM-synthesized music directly from BASIC on your Adlib or Soundblaster
  205. card, without having to worry about loading a driver.  You can also play
  206. back uncompressed raw digitized samples - once again, without a driver. 
  207. It even provides you with an interface to the Soundblaster Speech driver, 
  208. so you can write programs that talk and play music!  The sound module, like 
  209. the rest of PBASMLIB, is in a state of constant evolution, and I welcome 
  210. your suggestions on any routines you might like to see added in a future 
  211. revision.
  212.  
  213. XMS
  214. ---
  215.         Tired of the 640K limit?  You can access as much Extended Memory
  216. (XMS) as your machine has installed with the PBASMLIB XMS commands.  Store
  217. a string of any allowable length to XMS (and recall it later), using a
  218. command with only 3 parameters to remember.  For more control, use the
  219. other XMS commands to store and recall ANY section of memory to/from XMS.
  220.  
  221. EMS
  222. ---
  223.         PBASMLIB offers support for EMS (Expanded Memory) as well as XMS
  224. (Extended Memory).  Some modern DOS drivers offer both EMS and XMS to the
  225. programmer.  PBASMLIB gives you a choice of using either or both if they
  226. exist on the machine your program is running on.  EMS is even easier to use
  227. than XMS, and the EMS unit also includes routines to save and recall strings
  228. from memory without having to remember a lot of complex commands.
  229.  
  230. Miscellaneous
  231. -------------
  232.         This unit contains various and sundry routines that didn't fit into
  233. any other category or module.  Most of the miscellaneous routines allow you
  234. to do things that aren't possible using PowerBASIC alone, adding a lot of
  235. power and flexibility to your programs.  Several timing routines are included
  236. to improve and expand your ability to time program events, among others.
  237.  
  238.  
  239. Version 1.0 of PBASMLIB contains 10 modules total, and more are planned for
  240. future versions of the library.  One of the special things about PBASMLIB
  241. is that it's an ONGOING project of the author - in other words, this version
  242. is only the beginning.  When you register PBASMLIB, you will be entitled to
  243. the first major upgrade free of charge, and future upgrades after that for
  244. a minimal fee (currently $10.00 including disk and handling charges).  The
  245. price of future versions of PBASMLIB will likely rise with added routines
  246. and increased functionality, but if you register now you'll never pay more
  247. than a small upgrade fee for major revisions.
  248.  
  249.  
  250. Installing PBASMLIB
  251. -------------------
  252.  
  253. To install PBASMLIB, first create a new directory under your main 
  254. PowerBASIC directory to hold all the files.  You can do this with
  255. a command similar to the following:
  256.  
  257. MD C:\PB3\PBASMLIB
  258.  
  259. Next, copy all the files in this package to the newly-created directory
  260. with a command similar to the following:
  261.  
  262. COPY *.* C:\PB3\PBASMLIB
  263.  
  264. After this, you should copy PBASMLIB.PBL to your PowerBASIC LINK directory,
  265. and PBASMLIB.INC to PowerBASIC's INCLUDE directory.  These are the directories
  266. specified in the OPTIONS/DIRECTORIES menu in the PowerBASIC IDE.  PowerBASIC
  267. needs to know where to find PBASMLIB.PBL and PBASMLIB.INC when linking
  268. routines into your programs.  To copy these files, use a command sequence
  269. similar to the following:
  270.  
  271. CD C:\PB3\PBASMLIB
  272. COPY PBASMLIB.PBL C:\PB3\PBU  (or C:\PB3\LINK)
  273. COPY PBASMLIB.INC C:\PB3\INCLUDE
  274.  
  275. You can optionally always switch to the PBASMLIB directory before compiling
  276. and linking PBASMLIB programs, but it's far more convenient to tell PowerBASIC
  277. where to find .PBL/.PBU and .INC files.  For more information on default
  278. PowerBASIC directories, see the online help or consult the PowerBASIC manuals.
  279.  
  280. Once you've installed PBASMLIB, the routines should be ready to use.  They
  281. will all be immediately accessible to your programs by including the following
  282. commands at the top of programs that use PBASMLIB routines:
  283.  
  284. $LINK "PBASMLIB.PBL"
  285. $INCLUDE "PBASMLIB.INC"
  286.  
  287. If you're using a version of PowerBASIC earlier than 3.0C, it may be
  288. necessary to declare only the routines that you actually use in your
  289. programs, otherwise PowerBASIC may pull in the entire PBASMLIB library,
  290. making your programs larger than necessary.  If you use an earlier version
  291. of PowerBASIC, eliminate the $INCLUDE "PBASMLIB.INC" in your programs, and
  292. use cut and paste to cut the DECLAREs for routines you need out of the
  293. PBASMLIB.INC file and paste them into your programs.
  294.  
  295. You are now ready to try the demo programs included with PBASMLIB.  As of
  296. this version, most of the demos are for the SOUND (Soundblaster) module.
  297. If you don't have a Soundblaster card, you can't use these demo programs.
  298. When you register PBASMLIB, you'll receive additional demos that detail
  299. the functions of many of the other modules in the program.  All of the demos
  300. except one (the speech driver demo) will run in the PowerBASIC IDE - simply
  301. load, compile and run.  The program demonstrating the speech driver interface
  302. contains instructions on how to use it.  Do not attempt to use this program
  303. in the PowerBASIC IDE, or you'll experience a system crash.
  304.  
  305. A .DOC file for each module in PBASMLIB is included (XXXXX.DOC) that details 
  306. the routines available in each module.  It's recommended that you print out
  307. the .DOC files for the modules you will be using so you'll have a ready
  308. reference when you wish to add PBASMLIB commands to your programs.  Future 
  309. versions will include a help file for the PowerBASIC IDE (.PBH).
  310.  
  311.  
  312. Precautions
  313. -----------
  314.  
  315. Before experimenting with low level PBASMLIB routines, especially those
  316. that perform disk access, BE SURE TO BACK UP YOUR HARD DRIVE.  This
  317. precaution cannot be emphasized enough.  You use PBASMLIB entirely at
  318. your own risk, and bear all responsibility for the use and/or misuse
  319. of low-level system routines.  It's likely that as you use PBASMLIB
  320. routines, you'll experience the occasional system crash and/or corrupted
  321. files due to incorrect use, bugs in the routines, system configuration,
  322. or any number of possible problems.  ALWAYS remember to take appropriate
  323. precautions, especially when experimenting with different parameters for
  324. particular routines.  Once a PBASMLIB program is stable and tested, it's
  325. highly unlikely that the user of your programs will experience any 
  326. significant problems.  If they do, however, the author of PBASMLIB cannot
  327. be legally liable.  The use of these routines is always at your own risk.
  328. They are provided as-is, with no warranties either expressed or implied.
  329. Please see DISCLAIM.TXT for further information.
  330.  
  331.